package com.qf.service.impl;

import com.qf.mapper.UserDao;
import com.qf.mapper.UserDaoImpl;
import com.qf.pojo.User;
import com.qf.service.AdminService;
import com.qf.utils.Constants;
import com.qf.utils.MD5Utils;


public class AdminServiceImpl implements AdminService {

    @Override
    public User login(String userName, String password) {
        //1. 根据用户名, 调用dao查询
        UserDao userDao = new UserDaoImpl();
        User user = userDao.findByUserName(userName);

        //2. 判断用户是否存在, 不存在返回null
        if (user == null) {
            return null;
        }

        //3. 判断用户是否为管理员, 如果不是管理员返回null
        if (Constants.ROLE_ADMIN != user.getRole()) {
            return null;
        }

        //4. 判断用户状态是否可用, 1可用, 不可用返回null
        if (!Constants.USER_ACTIVE.equals(user.getStatus())) {
            return null;
        }

        //5. 判断密码是否正确, 密码正确返回true
        String md5PassWord = MD5Utils.md5(password);
        if (user.getPassword().equals(md5PassWord)) {
            return user;
        }

        //6. 其他情况返回false
        return null;
    }

}
